package com.wzqj.agent.common.redis;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;

public class CacheKey {
	
	/**
	 * redis的键前缀, 所有操作redis的key前缀应当在这里注册, 避免误覆盖别人存放的数据.
	 * 以双斜线结尾
	 */
	public static final String 
		用户登录验证码 = "user/captcha//",
		用户令牌 = "user/token//",
		商户列表令牌  ="merchant/list//",
		开通商户验证码 = "merchant/open/captcha";
		
	/**
	 * 检查redisKey是否合法
	 * @param key
	 */
	public static void checkKey(String key)	{
		for(String s : allConstants)	{
			if(key.startsWith(s))	{
				return;
			}
		}
		throw new UnRegCacheKeyException(key);
	}
	
	private static List<String> allConstants = new ArrayList<String>();

	static	{
		for(Field f : CacheKey.class.getFields())	{
			try	{
				allConstants.add((String)f.get(new CacheKey()));
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
}
